package timing.ukulele.portal.convertor;

import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import timing.ukulele.common.data.BaseDataConverter;
import timing.ukulele.data.portal.view.DictIndexVO;
import timing.ukulele.portal.persistent.SysDictIndex;

@Mapper
public interface DictIndexConverter extends BaseDataConverter<SysDictIndex, DictIndexVO> {
    DictIndexConverter INSTANCE = Mappers.getMapper(DictIndexConverter.class);

    @Override
    @Mappings({
            @Mapping(target = "createBy", ignore = true),
            @Mapping(target = "createTime", ignore = true),
            @Mapping(target = "updateBy", ignore = true),
            @Mapping(target = "updateTime", ignore = true),
    })
    SysDictIndex v2p(DictIndexVO dictIndexVO);

    @Override
    @Mappings({
            @Mapping(target = "dictList", ignore = true)
    })
    DictIndexVO p2v(SysDictIndex sysDictIndex);
}
